const fs = require("fs");

// 封装一个函数，定义Promise
function myReadFile(filename) {
    return new Promise((resolve, reject) => {
        // -----------异步代码------------
        fs.readFile(filename, "utf-8", (err, data) => {
            // 使用三元运算符代替if判断
            err ? reject(err) : resolve(data.length);
        });
    });
}

// 定义Promise
// let p = new Promise((resolve, reject) => {
//     // -----------异步代码------------
//     fs.readFile("./files/a.txt", "utf-8", (err, data) => {
//         // 使用三元运算符代替if判断
//         err ? reject(err) : resolve(data.length);
//     });
// });

// 获取结果
/*
 *前面的then里面如果return了一个Promise对象
 *后面的then里面可以得到上一个Promise的结果
 */

//  调用一个函数，得到的是它的return返回值
myReadFile("./files/a.txt")
    .then((result) => {
        console.log(result);
        return myReadFile("./files/b.txt");
    })
    .then((result) => {
        console.log(result);
        return myReadFile("./files/c.txt");
    })
    .then((result) => {
        console.log(result);
    })
    .catch((err) => {
        console.log(err); // 获取错误信息
    });